-#! /bin/sh
+#!/bin/sh
-# $Id$
+# This script does all the magic calls to automake/autoconf and
+# friends that are needed to configure a cvs checkout. As described in
+# the file HACKING you need a couple of extra tools to run this script
+# successfully.
#
-# Copyright (c) 2002 Daniel Elstner <daniel.elstner@gmx.net>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License VERSION 2 as
-# published by the Free Software Foundation. You are not allowed to
-# use any other version of the license; unless you got the explicit
-# permission from the author to do so.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# If you are compiling from a released tarball you don't need these
+# tools and you shouldn't use this script. Just call ./configure
+# directly.
+
+ACLOCAL=${ACLOCAL-aclocal-1.9}
+AUTOCONF=${AUTOCONF-autoconf}
+AUTOHEADER=${AUTOHEADER-autoheader}
+AUTOMAKE=${AUTOMAKE-automake-1.9}
+LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
+
+AUTOCONF_REQUIRED_VERSION=2.54
+AUTOMAKE_REQUIRED_VERSION=1.8.3
+LIBTOOL_REQUIRED_VERSION=1.4
+LIBTOOL_WIN32=1.5
+
+
+PROJECT="BABL"
+TEST_TYPE=-d
+
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+ORIGDIR=`pwd`
+cd $srcdir
+
+
+check_version ()
+{
+ VERSION_A=$1
+ VERSION_B=$2
+
+ save_ifs="$IFS"
+ IFS=.
+ set dummy $VERSION_A 0 0 0
+ MAJOR_A=$2
+ MINOR_A=$3
+ MICRO_A=$4
+ set dummy $VERSION_B 0 0 0
+ MAJOR_B=$2
+ MINOR_B=$3
+ MICRO_B=$4
+ IFS="$save_ifs"
+
+ if expr "$MAJOR_A" = "$MAJOR_B" > /dev/null; then
+ if expr "$MINOR_A" \> "$MINOR_B" > /dev/null; then
+ echo "yes (version $VERSION_A)"
+ elif expr "$MINOR_A" = "$MINOR_B" > /dev/null; then
+ if expr "$MICRO_A" \>= "$MICRO_B" > /dev/null; then
+ echo "yes (version $VERSION_A)"
+ else
+ echo "Too old (version $VERSION_A)"
+ DIE=1
+ fi
+ else
+ echo "Too old (version $VERSION_A)"
+ DIE=1
+ fi
+ elif expr "$MAJOR_A" \> "$MAJOR_B" > /dev/null; then
+ echo "Major version might be too new ($VERSION_A)"
+ else
+ echo "Too old (version $VERSION_A)"
+ DIE=1
+ fi
+}
+
+echo
+echo "I am testing that you have the tools required to build the"
+echo "$PROJECT from CVS. This test is not foolproof,"
+echo "so if anything goes wrong, see the file HACKING for more information..."
+echo
+
+DIE=0
+
+
+OS=`uname -s`
+case $OS in
+ *YGWIN* | *INGW*)
+ echo "Looks like Win32, you will need libtool $LIBTOOL_WIN32 or newer."
+ echo
+ LIBTOOL_REQUIRED_VERSION=$LIBTOOL_WIN32
+ ;;
+esac
+
+
+echo -n "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
+if ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
+ LIBTOOLIZE=$LIBTOOLIZE
+elif (glibtoolize --version) < /dev/null > /dev/null 2>&1; then
+ LIBTOOLIZE=glibtoolize
+else
+ echo
+ echo " You must have libtool installed to compile $PROJECT."
+ echo " Install the appropriate package for your distribution,"
+ echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+ echo
+ DIE=1
+fi
+
+if test x$LIBTOOLIZE != x; then
+ VER=`$LIBTOOLIZE --version \
+ | grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+ check_version $VER $LIBTOOL_REQUIRED_VERSION
+fi
-dir=`echo "$0" | sed 's,[^/]*$,,'`
-test "x${dir}" = "x" && dir='.'
+echo -n "checking for autoconf >= $AUTOCONF_REQUIRED_VERSION ... "
+if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1; then
+ VER=`$AUTOCONF --version | head -n 1 \
+ | grep -iw autoconf | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+ check_version $VER $AUTOCONF_REQUIRED_VERSION
+else
+ echo
+ echo " You must have autoconf installed to compile $PROJECT."
+ echo " Download the appropriate package for your distribution,"
+ echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/"
+ echo
+ DIE=1;
+fi
+
+
+echo -n "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
+if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=$AUTOMAKE
+ ACLOCAL=$ACLOCAL
+elif (automake-1.9 --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-1.9
+ ACLOCAL=aclocal-1.9
+elif (automake-1.8 --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake-1.8
+ ACLOCAL=aclocal-1.8
+else
+ echo
+ echo " You must have automake $AUTOMAKE_REQUIRED_VERSION or newer installed to compile $PROJECT."
+ echo " Download the appropriate package for your distribution,"
+ echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
+ echo
+ DIE=1
+fi
+
+if test x$AUTOMAKE != x; then
+ VER=`$AUTOMAKE --version \
+ | grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
+ check_version $VER $AUTOMAKE_REQUIRED_VERSION
+fi
-if test "x`cd "${dir}" 2>/dev/null && pwd`" != "x`pwd`"
-then
- echo "This script must be executed directly from the source directory."
+
+if test "$DIE" -eq 1; then
+ echo
+ echo "Please install/upgrade the missing tools and call me again."
+ echo
exit 1
fi
-rm -f config.cache acconfig.h
-echo "- libtoolize." && \
-libtoolize --force && \
-echo "- aclocal." && \
-aclocal && \
-echo "- autoconf." && \
-autoconf && \
-echo "- autoheader." && \
-autoheader && \
-echo "- automake." && \
-automake --add-missing --gnu && \
-echo && \
-./configure "$@" && exit 0
-#echo && \
-#make && exit 0
+echo
+echo "I am going to run ./configure with the following arguments:"
+echo
+echo " --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS $@"
+echo
+
+if test -z "$*"; then
+ echo "If you wish to pass additional arguments, please specify them "
+ echo "on the $0 command line or set the AUTOGEN_CONFIGURE_ARGS "
+ echo "environment variable."
+ echo
+fi
+
+
+if test -z "$ACLOCAL_FLAGS"; then
-exit 1
+ acdir=`$ACLOCAL --print-ac-dir`
+ m4list="pkg.m4"
+
+ for file in $m4list
+ do
+ if [ ! -f "$acdir/$file" ]; then
+ echo
+ echo "WARNING: aclocal's directory is $acdir, but..."
+ echo " no file $acdir/$file"
+ echo " You may see fatal macro warnings below."
+ echo " If these files are installed in /some/dir, set the "
+ echo " ACLOCAL_FLAGS environment variable to \"-I /some/dir\""
+ echo " or install $acdir/$file."
+ echo
+ fi
+ done
+fi
+
+rm -rf autom4te.cache
+
+$ACLOCAL $ACLOCAL_FLAGS
+RC=$?
+if test $RC -ne 0; then
+ echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
+ exit $RC
+fi
+
+$LIBTOOLIZE --force || exit $?
+
+# optionally feature autoheader
+($AUTOHEADER --version) < /dev/null > /dev/null 2>&1 && $AUTOHEADER || exit 1
+
+$AUTOMAKE --add-missing || exit $?
+$AUTOCONF || exit $?
+
+cd $ORIGDIR
+
+$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@"
+RC=$?
+if test $RC -ne 0; then
+ echo
+ echo "Configure failed or did not finish!"
+ exit $RC
+fi
+echo
+echo "Now type 'make' to compile $PROJECT."